Curso formativo para el PDI. Universidad de Castilla-La Mancha
Unidad 2 La importancia del contexto La importancia del contexto
Objetivos de aprendizaje
Resultados esperados
Conceptos clave
¿Qué hemos aprendido?
Subrayar la importancia del contexto.
Conectar los datos con la historia.
Mostrar cómo el contexto influye en la visualización.
Evitar manipulaciones no intencionadas.
Tipos de análisis. Fuente: Knaflic (2019)**
El análisis exploratorio: es lo que se hace para comprender los datos y averiguar qué puede ser digno de mención o interesante para otros. El análisis exploratorio es como buscar perlas en las ostras.
El análisis explicativo: es lo que se hace para explicar los datos a otros. El análisis explicativo es como hacer joyas con las perlas.
¿Dónde empezamos?. Fuente: Knaflic (2019)
Communication mechanism continuum. Fuente: Knaflic (2019)
Historia en 3‐minutos:: Si sólo dispusieras de tres minutos para decirle a su público lo que necesita saber, ¿qué le dirías?
La gran idea: la Gran Idea reduce el “qué” aún más: a una sola frase.
Storyboard o representación visual de la historias: una serie de imágenes que representan las escenas clave de la historia.
tidyverse
Conocer qué es el tidyverse y los datos tidy
Descubrir las acciones (verbos) de {dplyr}.
Aprender a visualizar datos con {ggplot2}.
Imagen tomada de: iStock
Imagen adaptada de: iStock
Cada variable forma una columna.
Cada observación forma una fila.
Cada tipo de unidad de observación forma una tabla.
Fuente: Wickham and Grolemund (2016)
Es una colección de paquetes coehrentes, que comparten gramática, filosofía y estructura y están diseñados para realizar juntos como una canalización completa (pipeline). Todos se basan en la idea de tidy data propuesta por Hadley Wickham Hadley (2014) y pueden instalarse con un único comando en R:
Los paquetes que forman parte del tidyverse son:
{readr}, para importación de datos.
{dplyr}, para manipulación de datos.
{tidyr}, para ordenar datos.
{ggplot2}, para visualización de datos.
{purrr}, para programación.
{tibble}, para tibbles, un nuevo formato de data frames.
{stringr}, para caracteres.
{forcats}, para factores.
En programación, un pipe (tubo) es una técnica que permite pasar información de un proceso a otro.
Fuente: https://static-bcrf.biochem.wisc.edu/courses/Tabular-data-analysis-with-R-and-Tidyverse/book/8-tidyverseanotherRuniverse.html
Imagina la siguiente secuencia:
Expresado como un cojunto de funciones anidadas y pseudo-código R podría ser así:
Utilizando pipes la lectura se hace más fácil y natural:
dplyr
filas:
filter() filtra casos en función de sus valores.
arrange() cambia el orden de las filas.
columnas:
select() elige variables en función de sus nombres.
transformación:
summarise() reduce múltiples valores a un solo resumen.
mutate() agrega nuevas variables que son funciones de variables existentes.
agrupación:
group_by() agrupa datos por una o más variables.Fuente: https://posit.co/resources/cheatsheets/
Note
Nosotros vamos a contar historias con los datos usando el software estadístico R por lo que es necesario conocer algunos paquetes y funciones para poder manipular y represenar los datos.
¿Qué hay en un conjunto de datos?
Mapa del universo observable con los objetos astronómicos notables conocidos en la actualidad. Fuente: Wikipedia.
starwars
Fuente: https://datasciencebox.org
# A tibble: 87 × 14
name height mass hair_color skin_color eye_color birth_year sex gender
<chr> <int> <dbl> <chr> <chr> <chr> <dbl> <chr> <chr>
1 Luke Sky… 172 77 blond fair blue 19 male mascu…
2 C-3PO 167 75 <NA> gold yellow 112 none mascu…
3 R2-D2 96 32 <NA> white, bl… red 33 none mascu…
4 Darth Va… 202 136 none white yellow 41.9 male mascu…
5 Leia Org… 150 49 brown light brown 19 fema… femin…
6 Owen Lars 178 120 brown, gr… light blue 52 male mascu…
# ℹ 81 more rows
# ℹ 5 more variables: homeworld <chr>, species <chr>, films <list>,
# vehicles <list>, starships <list>
Cada columna: variable (cuantitativa o cualitativa).
Cada fila: elemento observado las características que representan las variables.
La forma más común: data.frame.
Para extraer una variable del data.frame se utiliza el operador $: nombre_dataframe$nombre_variable.
Cada columna del data.frame es un vector (otra estructura de datos).
¿Cuántas columnas (variables) tiene?
¿Cuántas filas (observaciones) tiene?
¿Cuál es la dimensión del dataset?
data.frames)# A tibble: 3 × 14
name height mass hair_color skin_color eye_color birth_year sex gender
<chr> <int> <dbl> <chr> <chr> <chr> <dbl> <chr> <chr>
1 Luke Sky… 172 77 blond fair blue 19 male mascu…
2 C-3PO 167 75 <NA> gold yellow 112 none mascu…
3 R2-D2 96 32 <NA> white, bl… red 33 none mascu…
# ℹ 5 more variables: homeworld <chr>, species <chr>, films <list>,
# vehicles <list>, starships <list>
Note
El operador <- asigna al “símbolo” que hay a su izquierda el resultado de la expresión que hay a su derecha. El operador = funciona igual que <-.
Fuente: https://datasciencebox.org
starwars
De un vistazo (con la función glimpse()):
| Name | starwars |
| Number of rows | 87 |
| Number of columns | 14 |
| _______________________ | |
| Column type frequency: | |
| character | 8 |
| list | 3 |
| numeric | 3 |
| ________________________ | |
| Group variables | None |
Variable type: character
| skim_variable | n_missing | complete_rate | min | max | empty | n_unique | whitespace |
|---|---|---|---|---|---|---|---|
| name | 0 | 1.00 | 3 | 21 | 0 | 87 | 0 |
| hair_color | 5 | 0.94 | 4 | 13 | 0 | 11 | 0 |
| skin_color | 0 | 1.00 | 3 | 19 | 0 | 31 | 0 |
| eye_color | 0 | 1.00 | 3 | 13 | 0 | 15 | 0 |
| sex | 4 | 0.95 | 4 | 14 | 0 | 4 | 0 |
| gender | 4 | 0.95 | 8 | 9 | 0 | 2 | 0 |
| homeworld | 10 | 0.89 | 4 | 14 | 0 | 48 | 0 |
| species | 4 | 0.95 | 3 | 14 | 0 | 37 | 0 |
Variable type: list
| skim_variable | n_missing | complete_rate | n_unique | min_length | max_length |
|---|---|---|---|---|---|
| films | 0 | 1 | 24 | 1 | 7 |
| vehicles | 0 | 1 | 11 | 0 | 2 |
| starships | 0 | 1 | 16 | 0 | 5 |
Variable type: numeric
| skim_variable | n_missing | complete_rate | mean | sd | p0 | p25 | p50 | p75 | p100 | hist |
|---|---|---|---|---|---|---|---|---|---|---|
| height | 6 | 0.93 | 174.60 | 34.77 | 66 | 167.0 | 180 | 191.0 | 264 | ▂▁▇▅▁ |
| mass | 28 | 0.68 | 97.31 | 169.46 | 15 | 55.6 | 79 | 84.5 | 1358 | ▇▁▁▁▁ |
| birth_year | 44 | 0.49 | 87.57 | 154.69 | 8 | 35.0 | 52 | 72.0 | 896 | ▇▁▁▁▁ |
# A tibble: 1 × 14
name height mass hair_color skin_color eye_color birth_year sex gender
<chr> <int> <dbl> <chr> <chr> <chr> <dbl> <chr> <chr>
1 Luke Sky… 172 77 blond fair blue 19 male mascu…
# ℹ 5 more variables: homeworld <chr>, species <chr>, films <list>,
# vehicles <list>, starships <list>
La importancia del contexto en la comunicación.
Nociones básicas para manipular datos en R.
Homework: cumplimentar la hoja de trabajo.
Recuerda que los ordenadores actualmente no son inteligentes.
Filosofía: copy, paste, and tweak.
La mejor forma de aprender código es haciéndolo.
La práctica es la clave.